#include<iostream>
using namespace std;
/*
作用：将结构体作为参数向函数中传递
传递方式有两种
1、值传递
2、地址传递
*/
struct student
{
    string name;
    int age;
    int score;
};
//值传递
void printStudent1(struct student s){
    cout<<"子函数中姓名："<<s.name<<"年龄："<<s.age<<"分数"<<s.score<<endl;
}
//地址传递
void printStudent2(struct student *p)
{
    p->age=200;
    cout<<"子函数2中姓名："<<p->name<<"年龄："<<p->age<<"分数"<<p->score<<endl;
}
int main(){
    //将学生传入到一个参数中，打印学生身上的所有信息
    struct student s;
    s.name="张三";
    s.age=20;
    s.score=86;
    printStudent1(s);
    printStudent2(&s);
    //如果不想修改主函数中的数据，用值传递，反之用地址传递
}
